﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace NObsidian.Containers
{
    [DataContract]
    public class WikiPage : ContainerBase
    {
        [DataMember(Name = "wiki_page_url", EmitDefaultValue=false)]
        [ObsidianReadOnly]
        public string WikiPageURL { get; set; }

        [DataMember(Name = "campaign", EmitDefaultValue = false)]
        [ObsidianReadOnly]
        public Campaign Campaign { get; set; }

        [DataMember(Name = "type", EmitDefaultValue = false)]
        public string Type { get; set; }

        [DataMember(Name = "body", EmitDefaultValue = false)]
        public string Body { get; set; }

        [DataMember(Name = "body_html", EmitDefaultValue = false)]
        [ObsidianReadOnly]
        public string BodyHtml { get; set; }

        [DataMember(Name = "tags", EmitDefaultValue = false)]
        public List<string> Tags { get; set; }

        [DataMember(Name = "is_game_master_only", EmitDefaultValue = false)]
        public string IsGameMasterOnly { get; set; }

        [DataMember(Name = "game_master_info", EmitDefaultValue = false)]
        public string GameMasterInfo { get; set; }

        [DataMember(Name = "game_master_info_html", EmitDefaultValue = false)]
        [ObsidianReadOnly]
        public string GameMasterInfoHtml { get; set; }

        [DataMember(Name = "post_title", EmitDefaultValue = false)]
        public string PostTitle { get; set; }

        [DataMember(Name = "post_tagline", EmitDefaultValue = false)]
        public string PostTagLine { get; set; }

        [DataMember(Name = "post_time", EmitDefaultValue = false)]
        public string PostTime { get; set; }
    }
}
